﻿namespace GravityWorks.RockPaperScissors.Toolkit
{
    /// <summary>
    /// Read the rules to make sure you don't cheat or lose.
    /// </summary>
    public struct RuleSet
    {
        /// <summary>
        /// True if rock is a legal for this shot.
        /// </summary>
        public bool CanThrowRock;

        /// <summary>
        /// True if Scissors is legal for this shot.
        /// </summary>
        public bool CanThrowScissors;
        
        /// <summary>
        /// True if Paper is legal for this shot.
        /// </summary>
        public bool CanThrowPaper;

        /// <summary>
        /// True if Dynamite is legal for this shot.
        /// </summary>
        public bool CanThrowDynamite;

        /// <summary>
        /// How much dynamite each player gets for this match.
        /// </summary>
        public int NumberOfDynamite { get; set; }
        
        /// <summary>
        /// Shots must not take more than this amount of time to decide what to throw.
        /// </summary>
        public int TimeOut { get; set; }
    }
}
